package com.cv.system.controller.system.logger.vo.operateLog;

import com.cv.framework.common.pojo.PageParam;
import com.fasterxml.jackson.annotation.JsonFormat;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Data;
import org.springframework.format.annotation.DateTimeFormat;

import java.time.LocalDate;

import static com.cv.framework.common.utils.date.DateUtil.FORMAT_YEAR_MONTH_DAY;

/**
 * 后台管理系统 - 操作日志分页列表 Request VO
 *
 * @author Charles_XDXD
 */
@Schema(description = "后台管理系统 - 操作日志分页列表 Request VO")
@Data
public class OperateLogPageReqVO extends PageParam {

    @Schema(description = "操作模块，模拟匹配", example = "订单")
    private String module;

    @Schema(description = "用户昵称，模拟匹配", example = "管理员")
    private String userNickname;

    @Schema(description = "操作分类，参见 OperateLogTypeEnum 枚举类", example = "1")
    private Integer type;

    @Schema(description = "操作状态", example = "true")
    private Boolean success;

    @Schema(description = "开始时间", example = "[2022-07-01, 2022-07-01]")
    @DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY)
    @JsonFormat(pattern = FORMAT_YEAR_MONTH_DAY)
    private LocalDate[] startTime;

}
